package cn.itsource.blog.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.Date;

@Data
@Accessors(chain = true)
@Document(collection =  "t_article")
public class Article {
    @Id //对应mongodb的表的_id，添加时不设置_id会自动增长
    private String _id;

    // 主键ID
    private Long id;

    // 文章封面
    private String articlePic;

    // 文章名称
    private String articleName;

    // 文章标签
    private String articleTag;

    // 文章类型
    private Long articleType;

    // 文章状态(0:草稿;1:发布;2:弃用)
    private Integer articleState;

    // 是否置顶(0:不置顶;1:置顶)
    private Integer topState;

    // 发布人ID
    private Long publishId;

    // 发布时间
    // JsonFormat：将json数据格式化
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime = new Date();

    // 修改时间
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;

     // 设置默认值：因为发布的时候这些都是0
    // 文章阅读量
    private Integer articleReadCount = 0;
    // 文章点赞数
    private Integer articleStarNum = 0;
    // 文章评论数
    private Integer articleCommentNum = 0;
    // 文章简介
    private String articleRemark;
    // 文章内容
    private String articleContent;
    //文章推荐(0:草稿;1:推荐;2:不推荐)
    private Integer articleRecommend;



    // 用来关联表的时候可以放在Arctic对象里然后显示在前端页面
    // 文章类型名称
    private String articleTypeName;
    // 发布人名称
    private String publishName;


}
